import logging
import redis


class Config(object):
    """项目的配置类"""

    # 数据库相关的设置
    # 设置数据库的链接地址
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1:3306/info'
    # 关闭修改数据库的追踪
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    # redis 数据库相关的配置
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = 6379
    # 设置secret key
    SECRET_KEY = '!!@!#!#!#@#@$@@'

    # session存储的配置
    #  设置session 存储到redis中
    SESSION_TYPE = 'redis'
    # redis链接对象(给session扩展使用的)
    SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)
    # 给返回浏览器coockie session的值开启加密
    SESSION_USE_SIGNER = True
    # 设置session的过期时间
    PERMANENT_SESSION_LIFETIME = 3600 * 24 * 2


class DevelopmentConfig(Config):
    """开发环境中的配置类"""
    # 开启调试模式.
    DEBUG = True
    LOG_LEVEL = logging.DEBUG


class ProductionConfig(Config):
    """生产环境中的配置类"""
    # 配置生产环境中的配置类
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1:3306/production_info'
    LOG_LEVEL = logging.WARNING


config_dict = {
    'development': DevelopmentConfig,
    'production': ProductionConfig
}
